package aerouacmsla.procedimientos;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
/**
 *
 * @author Marco
 */
public class CreateTables {
    private DefaultTableModel modelo = new DefaultTableModel();

    public DefaultTableModel getTableModel(ResultSet resultados) {
        DefaultTableModel modeloNuevo = new DefaultTableModel();
        try {
            ResultSetMetaData metaDatos = resultados.getMetaData();
            int numeroColumnas = metaDatos.getColumnCount();
            Object[] fila = new Object[numeroColumnas];
            Object[] etiquetas = new Object[numeroColumnas];
            for (int i=0; i<numeroColumnas; i++){
                etiquetas[i] = metaDatos.getColumnLabel(i + 1);
            }
            modeloNuevo.setColumnIdentifiers(etiquetas);
            resultados.beforeFirst();
            while (resultados.next()){
                for (int i = 0; i < numeroColumnas; i++) {
                    fila[i] = resultados.getObject(i+1);
                }
                modeloNuevo.addRow(fila);
            }
            modelo = modeloNuevo;
            return modelo;
        } catch (SQLException ex) {
            Logger.getLogger(CreateTables.class.getName()).log(Level.SEVERE, null, ex);
            modelo = modeloNuevo;
            return modelo;
        }
    }

    public DefaultTableModel getTableModelAsStrings(ResultSet resultados) {
        DefaultTableModel modeloNuevo = new DefaultTableModel();
        try {
            ResultSetMetaData metaDatos = resultados.getMetaData();
            int numeroColumnas = metaDatos.getColumnCount();
            Object[] fila = new Object[numeroColumnas];
            Object[] etiquetas = new Object[numeroColumnas];
            for (int i=0; i<numeroColumnas; i++){
                etiquetas[i] = metaDatos.getColumnLabel(i + 1);
            }
            modeloNuevo.setColumnIdentifiers(etiquetas);
            resultados.beforeFirst();
            while (resultados.next()){
                for (int i = 0; i < numeroColumnas; i++) {
                    fila[i] = resultados.getObject(i+1).toString();
                }
                modeloNuevo.addRow(fila);
            }
            modelo = modeloNuevo;
            return modelo;
        } catch (SQLException ex) {
            Logger.getLogger(CreateTables.class.getName()).log(Level.SEVERE, null, ex);
            modelo = modeloNuevo;
            return modelo;
        }
    }
    public DefaultTableModel getLastModel(){
        return modelo;
    }
    public CreateTables(){
    }
}
